package com.orange;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import orange.database.DBIns;

public class BaseAction {
//	private static String propFileName = "/loclhostconnDB.properties";
//	private static Properties prop = new Properties();
//	private static String dbClassName, dbUrl, db_driver, db_url, db_user,
//			db_psw, db_err;
//	private static InputStream in;
//	private static Connection conn = null;
//	private static Statement stmt = null;
	String value = null, NAN = "NAN", nianfen, chandi, bianhao, pinzhong,
			shengfen, xiangmu, guojia, chuguojia, jinguojia;

	// 删除视图
//	String drop_view_sql = "drop view ";

	public BaseAction() {
//		try {
//			stmt = OrangeConn.getInstance().getStatement();
//			// TYPE_SCROLL_SENSITIVE表示支持回滚操作,CONCUR_READ_ONLY控制结果集的并发性,即不能通过结果集改变数据记录来改变数据库的内容
//		} catch (Exception e) {
//			// TODO Auto-generated catch block
//			System.out.println(db_err);
//			e.printStackTrace();
//		}
	}

	public static void main(String[] args) throws SQLException {
		String db_sql = "DROP DATABASE IF EXISTS `newdatabase`";
		BaseAction conn = new BaseAction();
		String sql = "select count(*) as totalCount from orange_z_chuliang";
		// 查询不重复数据
		String distinct_sql = "select distinct BianHao from orange_z_chuliang";
		// 创建视图
		String view_sql = "create view form1_1_pro "
				+ "as select distinct ShengFen as value  "
				+ "from orange_z_chanliang ";
		// 修改数据
		String update_sql = "update orang_w_jinchumaoyi set BianHao='200912' where BianHao='200911.99999999'";
		String update_sql_1 = "update orange_z_cbsy set Pinzhong='桔' where Pinzhong=' 桔'";
		// ResultSet rs = conn.excutequery(sql);
		// int rowCount = 0;
		// if (rs.next()) {
		// rowCount = rs.getInt("totalCount");
		// //获取记录总数
		// }
		// System.out.println(rowCount);

		// conn.createdb(db_sql);
		// 创建数据库
//		int i = conn.getCount_tablename();
//		System.out.println("现在收录" + i + "条数据");
		// 数据操纵之修改数据
		// conn.PureExecute(update_sql_1);
		// 删除视图
		// conn.deteleview();
		// 添加视图
		// conn.addview();

		// 查询某列无重复显示
		// conn.excutequery(distinct_sql);

		// 纯sql执行语句
		// conn.PureExecute(view_sql);
		//
//		conn.Querytablename("orange_z_jingchuliang_bianhao");
		// 数据表的名称 以表格名称查询所有数据
	}

	// 添加所有视图
//	public void addview() throws SQLException {
//		// 循环添加视图
//		String[] view_list = Factory.views_sql;
//		for (int i = 0; i < view_list.length; i++) {
//			PureExecute(view_list[i]);
//			// conn.PureExecute(drop_view_sql+view_list[i].split(" ")[2]+";");
//			Query_tablename_foraddview(view_list[i].split(" ")[2]);
//		}
//	}

	// 删除所有视图
//	public void deteleview() throws SQLException {
//		// 循环删除视图
//		String[] view_list = Factory.views_sql;
//		for (int i = 0; i < view_list.length; i++) {
//
//			PureExecute(drop_view_sql + view_list[i].split(" ")[2] + ";");
//
//		}
//		// stmt.close();
//		// conn.close();
//	}

//	// 纯sql执行没有对ResultSet进行操作
//	private void PureExecute(String sql) throws SQLException {
//		if (!stmt.execute(sql)) {
//			System.out.println("操作成功");
//		} else {
//			System.out.println("操作失败");
//		}
//
//	}

	// 获取数据库记录总数
	public int getCount_tablename() {
		String[] tablenames = { "orange_z_mianji", "orange_z_jinliang",
				"orange_z_chuliang", "orange_z_jinchuliang",
				"orange_z_chanliang", "orange_z_cbsy",
				"orange_w_changliangandmianji", "orang_w_jinchumaoyi" };
		int rowCount = 0;
		String sql = null;
		Connection conn = DBIns.getInstance().getConnection();
		try {
			for (int i = 0; i < tablenames.length; i++) {
				sql = "select count(*) as totalCount from " + tablenames[i];
				ResultSet rs;
				Statement stmt = conn.createStatement();
				rs = stmt.executeQuery(sql);

				if (rs.next()) {
					rowCount += rs.getInt("totalCount");
					// 获取记录总数
				}
				rs.close();
			}
			DBIns.getInstance().release(conn);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		
		// Close(rs);
		return rowCount;
	}

//	// 创建数据库
//	private void createdb(String sql) throws SQLException {
//		// ResultSet rs;
//		if (stmt.execute(sql)) {
//			System.out.println("创建成功");
//		} else {
//			System.out.println("创建失败");
//		}
//	}

	// sql语句查询所有数据
//	public ResultSet excutequery(String sql) {
//		ResultSet rs;
//		try {
//			rs = stmt.executeQuery(sql);
//			while (rs.next()) {
//				for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
//					System.out.print(rs.getString(rs.getMetaData()
//							.getColumnName(i))
//							+ "\t");
//
//				}
//				System.out.print("\r\n");
//			}
//			return rs;
//		} catch (SQLException e) {
//			e.printStackTrace();
//			return null;
//		}
//
//	}

	// table表名查询该表所有数据
//	public String Query_tablename_foraddview(String tablename)
//			throws SQLException {
//		String sql = "select * from " + tablename + " order by _VALUE ASC";
//		ResultSet rs = null;
//		StringBuffer buffer1 = new StringBuffer();
//		try {
//			rs = stmt.executeQuery(sql);
//		} catch (SQLException e) {
//			e.printStackTrace();
//		}
//		// for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
//		// System.out.println(rs.getMetaData().getColumnName(i));
//
//		rs.next();
//		// long time=System.currentTimeMillis();
//		if (rs.getString("_VALUE").trim().equals(rs.getString("_SHOW").trim())) {
//			buffer1.append("<option value=\"" + rs.getString("_VALUE").trim()
//					+ "\" selected=\"selected\">"
//					+ rs.getString("_SHOW").trim() + "</option>");
//			while (rs.next()) {
//				buffer1.append("<option value=\""
//						+ rs.getString("_VALUE").trim() + "\">"
//						+ rs.getString("_SHOW").trim() + "</option>");
//			}
//		} else {
//			buffer1.append("<option value=\"" + rs.getString("_VALUE").trim()
//					+ "\" selected=\"selected\">" + "("
//					+ rs.getString("_VALUE").trim() + ")"
//					+ rs.getString("_SHOW").trim() + "</option>");
//			while (rs.next()) {
//				buffer1.append("<option value=\""
//						+ rs.getString("_VALUE").trim() + "\">" + "("
//						+ rs.getString("_VALUE").trim() + ")"
//						+ rs.getString("_SHOW").trim() + "</option>");
//			}
//		}
//
//		// System.out.println(System.currentTimeMillis()-time);//测试查询时间
//		String value = new String(buffer1);
//		System.out.println(value);
//		// }
//		// Close(rs);// 关闭数据库连接
//
//		// }
//		return value;
//	}

	

//	// 对于传进来的值进行转码以及string数组转为一个字符串
//	public String Convert(String[] str) throws UnsupportedEncodingException {
//		String s = "'";
//		int n = str.length;
//		for (int i = 0; i < n - 1; i++)
//			s += str[i] + "','";
//		s += str[n - 1] + "'";
//		byte[] tmpbyte = s.getBytes("ISO8859_1");
//		// byte[] tmpbyte= s.getBytes();
//		return new String(tmpbyte, "UTF-8");
//		// return new String(tmpbyte);
//	}

	// 关闭各种连接
//	public void Close(ResultSet rs) {
//		// try {
//		// rs.close();
//		// } catch (SQLException e) {
//		// // TODO Auto-generated catch block
//		// e.printStackTrace();
//		// }
//
//	}

	public String getValue() {
		return value;
	}

//	public void Beforefirst(ResultSet rs1) {// 使rs回滚到初始位置
//		try {
//			rs1.beforeFirst();
//		} catch (SQLException e1) {
//			// TODO Auto-generated catch block
//			e1.printStackTrace();
//		}
//	}

	public String getNianfen() {
		return nianfen;
	}

	public String getChandi() {
		return chandi;
	}

	public String getBianhao() {
		return bianhao;
	}

	public String getPinzhong() {
		return pinzhong;
	}

	public String getShengfen() {
		return shengfen;
	}

	public String getXiangmu() {
		return xiangmu;
	}

	public String getGuojia() {
		return guojia;
	}

	public String getChuguojia() {
		return chuguojia;
	}

	public String getJinguojia() {
		return jinguojia;
	}
}
